<?php
/**
 * TOP API: alitrip.travel.gereralitem.update request
 * 
 * @author auto create
 * @since 1.0, 2018.10.09
 */
class AlitripTravelGereralitemUpdateRequest
{
	/** 
	 * 必填，商品基本信息
	 **/
	private $baseInfo;
	
	/** 
	 * 必填，预定规则结构。示例： [{ "rule_type": "fee_excluded", "rule_desc": "费用包含描述"},{ "rule_type": "fee_included", "rule_desc": "费用不含描述"},{ "rule_type": "order_info", "rule_desc": "预定须知描述"}]
	 **/
	private $bookingRules;
	
	/** 
	 * 更新sku信息，仅限非日历（普通）商品使用
	 **/
	private $commonSkuList;
	
	/** 
	 * 更新sku信息，仅限日历商品使用
	 **/
	private $dateSkuInfoList;
	
	/** 
	 * 新版电子凭证信息。如果传递了此参数，则sales_info中旧版电子凭证信息将被忽略，否则电子凭证信息将以旧版电子凭证参数为准。如果新、旧版参数都没传，则该商品不支持电子凭证
	 **/
	private $itemEleCertInfo;
	
	/** 
	 * 选填，退款规则结构
	 **/
	private $itemRefundInfo;
	
	/** 
	 * poi信息，个别类目必填，如演艺类目下场馆信息
	 **/
	private $poi;
	
	private $apiParas = array();
	
	public function setBaseInfo($baseInfo)
	{
		$this->baseInfo = $baseInfo;
		$this->apiParas["base_info"] = $baseInfo;
	}

	public function getBaseInfo()
	{
		return $this->baseInfo;
	}

	public function setBookingRules($bookingRules)
	{
		$this->bookingRules = $bookingRules;
		$this->apiParas["booking_rules"] = $bookingRules;
	}

	public function getBookingRules()
	{
		return $this->bookingRules;
	}

	public function setCommonSkuList($commonSkuList)
	{
		$this->commonSkuList = $commonSkuList;
		$this->apiParas["common_sku_list"] = $commonSkuList;
	}

	public function getCommonSkuList()
	{
		return $this->commonSkuList;
	}

	public function setDateSkuInfoList($dateSkuInfoList)
	{
		$this->dateSkuInfoList = $dateSkuInfoList;
		$this->apiParas["date_sku_info_list"] = $dateSkuInfoList;
	}

	public function getDateSkuInfoList()
	{
		return $this->dateSkuInfoList;
	}

	public function setItemEleCertInfo($itemEleCertInfo)
	{
		$this->itemEleCertInfo = $itemEleCertInfo;
		$this->apiParas["item_ele_cert_info"] = $itemEleCertInfo;
	}

	public function getItemEleCertInfo()
	{
		return $this->itemEleCertInfo;
	}

	public function setItemRefundInfo($itemRefundInfo)
	{
		$this->itemRefundInfo = $itemRefundInfo;
		$this->apiParas["item_refund_info"] = $itemRefundInfo;
	}

	public function getItemRefundInfo()
	{
		return $this->itemRefundInfo;
	}

	public function setPoi($poi)
	{
		$this->poi = $poi;
		$this->apiParas["poi"] = $poi;
	}

	public function getPoi()
	{
		return $this->poi;
	}

	public function getApiMethodName()
	{
		return "alitrip.travel.gereralitem.update";
	}
	
	public function getApiParas()
	{
		return $this->apiParas;
	}
	
	public function check()
	{
		
	}
	
	public function putOtherTextParam($key, $value) {
		$this->apiParas[$key] = $value;
		$this->$key = $value;
	}
}
